Compressed video data are sent in packets over a communication channel, which can be a wired or a wireless channel. Due to channel interference, bits can be corrupted during transmission. In data packets, a corrupted bit may cause the loss of the whole packet, which is extremely costly in video distribution because a lost packet can affect many subsequent frames in a video. When the transmission is using a TCP/IP protocol, receivers can ask senders to retransmit the lost packets repeatedly until a correct packet is received in some non-real-time applications. However, in real-time video applications, such as, video broadcasting, video conferencing, video chatting, and video streaming, etc., packet retransmission will introduce excessive delay and also inefficient bandwidth usage. Existing video error concealment algorithms are known. Some examples are as shown in:                1. D. Nguyen, M. Dao and T. D. Tran, “Video Error Concealment using Sparse Recovery and Local Dictionaries,” IEEE Int. Conf on Acoustics, Speech, and Signal Processing (ICAS SP), May 2011.        2. Wei-Ying Kung, Chang-Su Kim, and C.-C. Jay Kuo, “Spatial and Temporal Error Concealment Techniques for Video Transmission Over Noisy Channels,” IEEE Trans. on Circuits and Systems for Video Technology, Vol. 16, No. 7, July 2006.        3. J M, the reference software for the H264 standard as shown in http://iphome.hhi.de/suehring/tml/.        
The examples as shown above use neighboring macroblocks (MBs) to conceal damaged MBs in I-frames and motion vectors of neighboring MBs to conceal errors in P-frames. These algorithms work well to certain extent in low percentage packet loss scenarios. It is well known that in real-time broadcasting and streaming applications, videos are normally encoded in the so-called “baseline mode” where there are more P-frames and fewer I-frames in order to reduce latency and save bandwidth. As a result, error propagation effects become very serious in the later frames inside a group-of-pictures (GOP) and the resulting video quality can be very poor. Recently, there is some new research based on sparsity based search as shown in example 1 above. However, the speed is extremely slow and hence not suitable for real-time applications.